package com.yycx.module.pay.provider.strategy.base;

import com.egzosn.pay.common.bean.PayOrder;
import com.yycx.common.base.entity.EntityMap;
import com.yycx.common.mybatis.model.ResultBody;
import com.yycx.module.pay.provider.response.PayResponse;

/**
 * 获取支付参数策略接口
 *
 * @author zyf
 */
public interface BasePayStrategy {
    /**
     * 判断是否支持集成认证类型
     *
     * @param payType         支付类型(微信:wxPay,支付宝:aliPay,余额:balance)
     * @param transactionType 支付交易类型(微信支付宝:APP,微信服务号：JSAPI,微信二维码:NATIVE,支付宝二维码:SWEEPPAY,支付宝网页:PAGE,)
     * @return
     */
    boolean support(String payType, String transactionType);

    /**
     * 获取支付参数
     *
     * @param resultBody
     * @param result
     * @param payResponse
     * @param payOrder
     * @param transactionType 交易类型
     * @return
     */
    ResultBody getPayResult(ResultBody resultBody,EntityMap result, PayResponse payResponse, PayOrder payOrder, String transactionType);
}
